{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Node classification with Graph Convolutional Network (GCN)\n",
    "\n",
    "> This demo explains how to do node classification using the StellarGraph library. [See all other demos](../README.md).\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx": "hidden",
    "tags": [
     "CloudRunner"
    ]
   },
   "source": [
    "<table><tr><td>Run the latest release of this notebook:</td><td><a href=\"https://mybinder.org/v2/gh/stellargraph/stellargraph/master?urlpath=lab/tree/demos/node-classification/gcn-node-classification.ipynb\" alt=\"Open In Binder\" target=\"_parent\"><img src=\"https://mybinder.org/badge_logo.svg\"/></a></td><td><a href=\"https://colab.research.google.com/github/stellargraph/stellargraph/blob/master/demos/node-classification/gcn-node-classification.ipynb\" alt=\"Open In Colab\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\"/></a></td></tr></table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[The StellarGraph library](https://github.com/stellargraph/stellargraph) supports many state-of-the-art machine learning (ML) algorithms on [graphs](https://en.wikipedia.org/wiki/Graph_%28discrete_mathematics%29). In this notebook, we'll be training a model to predict the class or label of a node, commonly known as node classification. We will also use the resulting model to compute vector embeddings for each node.\n",
    "\n",
    "There's two necessary parts to be able to do this task:\n",
    "\n",
    "- a graph: this notebook uses the Cora dataset from <https://linqs.soe.ucsc.edu/data>. The dataset consists of academic publications as the nodes and the citations between them as the links: if publication A cites publication B, then the graph has an edge from A to B. The nodes are classified into one of seven subjects, and our model will learn to predict this subject.\n",
    "- an algorithm: this notebook uses a Graph Convolution Network (GCN) [1]. The core of the GCN neural network model is a \"graph convolution\" layer. This layer is similar to a conventional dense layer, augmented by the graph adjacency matrix to use information about a node's connections. This algorithm is discussed in more detail in [\"Knowing Your Neighbours: Machine Learning on Graphs\"](https://medium.com/stellargraph/knowing-your-neighbours-machine-learning-on-graphs-9b7c3d0d5896).\n",
    "\n",
    "The notebook walks through three sections:\n",
    "\n",
    "1. **Data preparation** using [Pandas](https://pandas.pydata.org) and [scikit-learn](https://scikit-learn.org/): loading the graph from CSV files, doing some basic introspection, and splitting it into train, test and validation splits for ML\n",
    "2. **Creating the GCN layers** and data input using [StellarGraph](https://github.com/stellargraph/stellargraph)\n",
    "3. **Training and evaluating** the model using [TensorFlow Keras](https://www.tensorflow.org/guide/keras), Pandas and scikit-learn\n",
    "\n",
    "Notably, only section 2 needs StellarGraph: section 1 and section 3 are driven by the existing flexible functionality in common and popular data science libraries. Most of the algorithms supported by StellarGraph follow this pattern, where the custom StellarGraph functionality integrates smoothly with the conventional data science work-flow.\n",
    "\n",
    "> StellarGraph supports other algorithms for doing [node classification](README.md), as well as many [other tasks](../README.md) such as [link prediction](../link-prediction/README.md), and [representation learning](../embeddings/README.md).\n",
    "\n",
    "[1]: [Graph Convolutional Networks (GCN): Semi-Supervised Classification with Graph Convolutional Networks](https://github.com/tkipf/gcn). Thomas N. Kipf, Max Welling.\n",
    "International Conference on Learning Representations (ICLR), 2017"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first step is to import the Python libraries that we'll need. We import `stellargraph` under the `sg` name for convenience, similar to `pandas` often being imported as `pd`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "nbsphinx": "hidden",
    "tags": [
     "CloudRunner"
    ]
   },
   "outputs": [],
   "source": [
    "# install StellarGraph if running on Google Colab\n",
    "import sys\n",
    "if 'google.colab' in sys.modules:\n",
    "  %pip install -q stellargraph[demos]==1.2.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "nbsphinx": "hidden",
    "tags": [
     "VersionCheck"
    ]
   },
   "outputs": [],
   "source": [
    "# verify that we're using the correct version of StellarGraph for this notebook\n",
    "import stellargraph as sg\n",
    "\n",
    "try:\n",
    "    sg.utils.validate_notebook_version(\"1.2.1\")\n",
    "except AttributeError:\n",
    "    raise ValueError(\n",
    "        f\"This notebook requires StellarGraph version 1.2.1, but a different version {sg.__version__} is installed.  Please see <https://github.com/stellargraph/stellargraph/issues/1172>.\"\n",
    "    ) from None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import os\n",
    "\n",
    "import stellargraph as sg\n",
    "from stellargraph.mapper import FullBatchNodeGenerator\n",
    "from stellargraph.layer import GCN\n",
    "\n",
    "from tensorflow.keras import layers, optimizers, losses, metrics, Model\n",
    "from sklearn import preprocessing, model_selection\n",
    "from IPython.display import display, HTML\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Data Preparation\n",
    "\n",
    "### Loading the CORA network"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can retrieve a `StellarGraph` graph object holding this Cora dataset using the `Cora` loader ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.datasets.Cora)) from the `datasets` submodule ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#module-stellargraph.datasets)). It also provides us with the ground-truth node subject classes. This function is implemented using Pandas, see [the \"Loading data into StellarGraph from Pandas\" notebook](../basics/loading-pandas.ipynb) for details.\n",
    "\n",
    "(Note: Cora is a citation network, which is a directed graph, but, like most users of this graph, we ignore the edge direction and treat it as undirected.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": [
     "DataLoadingLinks"
    ]
   },
   "source": [
    "(See [the \"Loading from Pandas\" demo](../basics/loading-pandas.ipynb) for details on how data can be loaded.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "tags": [
     "DataLoading"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "The Cora dataset consists of 2708 scientific publications classified into one of seven classes. The citation network consists of 5429 links. Each publication in the dataset is described by a 0/1-valued word vector indicating the absence/presence of the corresponding word from the dictionary. The dictionary consists of 1433 unique words."
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset = sg.datasets.Cora()\n",
    "display(HTML(dataset.description))\n",
    "G, node_subjects = dataset.load()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `info` method can help us verify that our loaded graph matches the description:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "StellarGraph: Undirected multigraph\n",
      " Nodes: 2708, Edges: 5429\n",
      "\n",
      " Node types:\n",
      "  paper: [2708]\n",
      "    Features: float32 vector, length 1433\n",
      "    Edge types: paper-cites->paper\n",
      "\n",
      " Edge types:\n",
      "    paper-cites->paper: [5429]\n"
     ]
    }
   ],
   "source": [
    "print(G.info())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We aim to train a graph-ML model that will predict the \"subject\" attribute on the nodes. These subjects are one of 7 categories, with some categories more common than others:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>426</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Genetic_Algorithms</td>\n",
       "      <td>418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Theory</td>\n",
       "      <td>351</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Case_Based</td>\n",
       "      <td>298</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Rule_Learning</td>\n",
       "      <td>180</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        subject\n",
       "Neural_Networks             818\n",
       "Probabilistic_Methods       426\n",
       "Genetic_Algorithms          418\n",
       "Theory                      351\n",
       "Case_Based                  298\n",
       "Reinforcement_Learning      217\n",
       "Rule_Learning               180"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "node_subjects.value_counts().to_frame()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Splitting the data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For machine learning we want to take a subset of the nodes for training, and use the rest for validation and testing. We'll use scikit-learn's `train_test_split` function ([docs](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html)) to do this.\n",
    "\n",
    "Here we're taking 140 node labels for training, 500 for validation, and the rest for testing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_subjects, test_subjects = model_selection.train_test_split(\n",
    "    node_subjects, train_size=140, test_size=None, stratify=node_subjects\n",
    ")\n",
    "val_subjects, test_subjects = model_selection.train_test_split(\n",
    "    test_subjects, train_size=500, test_size=None, stratify=test_subjects\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note using stratified sampling gives the following counts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Genetic_Algorithms</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Theory</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Case_Based</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>Rule_Learning</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        subject\n",
       "Neural_Networks              42\n",
       "Genetic_Algorithms           22\n",
       "Probabilistic_Methods        22\n",
       "Theory                       18\n",
       "Case_Based                   16\n",
       "Reinforcement_Learning       11\n",
       "Rule_Learning                 9"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_subjects.value_counts().to_frame()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The training set has class imbalance that might need to be compensated, e.g., via using a weighted cross-entropy loss in model training, with class weights inversely proportional to class support. However, we will ignore the class imbalance in this example, for simplicity."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Converting to numeric arrays"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For our categorical target, we will use one-hot vectors that will be compared against the model's soft-max output. To do this conversion we can use the `LabelBinarizer` transform ([docs](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelBinarizer.html)) from scikit-learn. Another option would be the `pandas.get_dummies` function ([docs](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.get_dummies.html)), but the scikit-learn transform allows us to do the inverse transform easily later in the notebook, to interpret the predictions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "target_encoding = preprocessing.LabelBinarizer()\n",
    "\n",
    "train_targets = target_encoding.fit_transform(train_subjects)\n",
    "val_targets = target_encoding.transform(val_subjects)\n",
    "test_targets = target_encoding.transform(test_subjects)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The CORA dataset contains attributes `w_x` that correspond to words found in that publication. If a word occurs more than once in a publication the relevant attribute will be set to one, otherwise it will be zero. These numeric attributes have been automatically included in the `StellarGraph` instance `G`, and so we do not have to do any further conversion.\n",
    "\n",
    "<a href=\"Cora-features.png\"><img src=\"Cora-features.png\" alt=\"Each paper is analysed to see if it contains each of 1433 words\" title=\"Click to zoom\" width=\"600\" /></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Creating the GCN layers\n",
    "\n",
    "A machine learning model in StellarGraph consists of a pair of items:\n",
    "\n",
    "- the layers themselves, such as graph convolution, [dropout](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dropout) and even [conventional dense layers](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dense)\n",
    "- a data generator to convert the core graph structure and node features into a format that can be fed into the Keras model for training or prediction\n",
    "\n",
    "GCN is a full-batch model and we're doing node classification here, which means the `FullBatchNodeGenerator` class ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.mapper.FullBatchNodeGenerator)) is the appropriate generator for our task. StellarGraph has many generators in order to support all [its many models and tasks](../README.md).\n",
    "\n",
    "Specifying the `method='gcn'` argument to the `FullBatchNodeGenerator` means it will yield data appropriate for the GCN algorithm specifically, by using the [normalized graph Laplacian matrix](https://en.wikipedia.org/wiki/Laplacian_matrix#Symmetric_normalized_Laplacian) to capture the graph structure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using GCN (local pooling) filters...\n"
     ]
    }
   ],
   "source": [
    "generator = FullBatchNodeGenerator(G, method=\"gcn\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A generator just encodes the information required to produce the model inputs. Calling the `flow` method ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.mapper.FullBatchNodeGenerator.flow)) with a set of nodes and their true labels produces an object that can be used to train the model, on those nodes and labels that were specified. We created a training set above, so that's what we're going to use here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_gen = generator.flow(train_subjects.index, train_targets)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can specify our machine learning model by building a stack of layers. We can use StellarGraph's `GCN` class ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.layer.GCN)), which packages up the creation of this stack of [graph convolution](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.layer.GraphConvolution) and [dropout](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dropout) layers. We can specify a few parameters to control this:\n",
    "\n",
    " * `layer_sizes`: the number of hidden GCN layers and their sizes. In this case, two GCN layers with 16 units each.\n",
    " * `activations`: the activation to apply to each GCN layer's output. In this case, [RelU](https://en.wikipedia.org/wiki/Rectifier_\\(neural_networks\\)) for both layers.\n",
    " * `dropout`: the rate of dropout for the input of each GCN layer. In this case, 50%."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "gcn = GCN(\n",
    "    layer_sizes=[16, 16], activations=[\"relu\", \"relu\"], generator=generator, dropout=0.5\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To create a Keras model we now expose the input and output tensors of the GCN model for node prediction, via the `GCN.in_out_tensors` method:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor 'gather_indices/Identity:0' shape=(1, None, 16) dtype=float32>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_inp, x_out = gcn.in_out_tensors()\n",
    "\n",
    "x_out"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `x_out` value is a TensorFlow tensor that holds a 16-dimensional vector for the nodes requested when training or predicting. The actual predictions of each node's class/subject needs to be computed from this vector. StellarGraph is built using Keras functionality, so this can be done with a standard Keras functionality: an additional dense layer (with one unit per class) using a softmax activation. This activation function ensures that the final outputs for each input node will be a vector of \"probabilities\", where every value is between 0 and 1, and the whole vector sums to 1. The predicted class is the element with the highest value."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions = layers.Dense(units=train_targets.shape[1], activation=\"softmax\")(x_out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Training and evaluating\n",
    "\n",
    "### Training the model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's create the actual [Keras model](https://www.tensorflow.org/api_docs/python/tf/keras/Model) with the input tensors `x_inp` and output tensors being the predictions `predictions` from the final dense layer. Our task is a categorical prediction task, so a categorical cross-entropy loss function is appropriate. Even though we're doing graph ML with StellarGraph, we're still working with conventional Keras prediction values, so we can use [the loss function from Keras](https://www.tensorflow.org/api_docs/python/tf/keras/losses/categorical_crossentropy) directly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Model(inputs=x_inp, outputs=predictions)\n",
    "model.compile(\n",
    "    optimizer=optimizers.Adam(lr=0.01),\n",
    "    loss=losses.categorical_crossentropy,\n",
    "    metrics=[\"acc\"],\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we're training the model, we'll want to also keep track of its generalisation performance on the validation set, which means creating another data generator, using our `FullBatchNodeGenerator` we created above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "val_gen = generator.flow(val_subjects.index, val_targets)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can directly use the `EarlyStopping` functionality ([docs](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/EarlyStopping)) offered by Keras to stop training if the validation accuracy stops improving."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tensorflow.keras.callbacks import EarlyStopping\n",
    "\n",
    "es_callback = EarlyStopping(monitor=\"val_acc\", patience=50, restore_best_weights=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We've now set up our model layers, our training data, our validation data and even our training callbacks, so we can now train the model using the model's `fit` method ([docs](https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit)). Like most things in this section, this is all built into Keras."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  ['...']\n",
      "  ['...']\n",
      "Train for 1 steps, validate for 1 steps\n",
      "Epoch 1/200\n",
      "1/1 - 1s - loss: 1.9505 - acc: 0.1000 - val_loss: 1.9182 - val_acc: 0.2820\n",
      "Epoch 2/200\n",
      "1/1 - 0s - loss: 1.9004 - acc: 0.3143 - val_loss: 1.8831 - val_acc: 0.3560\n",
      "Epoch 3/200\n",
      "1/1 - 0s - loss: 1.8493 - acc: 0.3571 - val_loss: 1.8297 - val_acc: 0.3940\n",
      "Epoch 4/200\n",
      "1/1 - 0s - loss: 1.7679 - acc: 0.4500 - val_loss: 1.7643 - val_acc: 0.3700\n",
      "Epoch 5/200\n",
      "1/1 - 0s - loss: 1.6747 - acc: 0.4500 - val_loss: 1.7046 - val_acc: 0.3580\n",
      "Epoch 6/200\n",
      "1/1 - 0s - loss: 1.5794 - acc: 0.4643 - val_loss: 1.6489 - val_acc: 0.3780\n",
      "Epoch 7/200\n",
      "1/1 - 0s - loss: 1.5086 - acc: 0.4714 - val_loss: 1.5843 - val_acc: 0.4440\n",
      "Epoch 8/200\n",
      "1/1 - 0s - loss: 1.4128 - acc: 0.5071 - val_loss: 1.5189 - val_acc: 0.5180\n",
      "Epoch 9/200\n",
      "1/1 - 0s - loss: 1.2905 - acc: 0.5929 - val_loss: 1.4558 - val_acc: 0.5900\n",
      "Epoch 10/200\n",
      "1/1 - 0s - loss: 1.1587 - acc: 0.6714 - val_loss: 1.3988 - val_acc: 0.6320\n",
      "Epoch 11/200\n",
      "1/1 - 0s - loss: 1.1166 - acc: 0.7143 - val_loss: 1.3416 - val_acc: 0.6620\n",
      "Epoch 12/200\n",
      "1/1 - 0s - loss: 1.0452 - acc: 0.7500 - val_loss: 1.2856 - val_acc: 0.6740\n",
      "Epoch 13/200\n",
      "1/1 - 0s - loss: 1.0205 - acc: 0.7286 - val_loss: 1.2315 - val_acc: 0.6880\n",
      "Epoch 14/200\n",
      "1/1 - 0s - loss: 0.8734 - acc: 0.7786 - val_loss: 1.1815 - val_acc: 0.6880\n",
      "Epoch 15/200\n",
      "1/1 - 0s - loss: 0.7818 - acc: 0.7857 - val_loss: 1.1342 - val_acc: 0.6940\n",
      "Epoch 16/200\n",
      "1/1 - 0s - loss: 0.7580 - acc: 0.8143 - val_loss: 1.0892 - val_acc: 0.7020\n",
      "Epoch 17/200\n",
      "1/1 - 0s - loss: 0.6956 - acc: 0.8143 - val_loss: 1.0459 - val_acc: 0.7120\n",
      "Epoch 18/200\n",
      "1/1 - 0s - loss: 0.5902 - acc: 0.8214 - val_loss: 1.0059 - val_acc: 0.7180\n",
      "Epoch 19/200\n",
      "1/1 - 0s - loss: 0.5497 - acc: 0.8786 - val_loss: 0.9683 - val_acc: 0.7420\n",
      "Epoch 20/200\n",
      "1/1 - 0s - loss: 0.4658 - acc: 0.8929 - val_loss: 0.9342 - val_acc: 0.7520\n",
      "Epoch 21/200\n",
      "1/1 - 0s - loss: 0.4416 - acc: 0.8857 - val_loss: 0.9039 - val_acc: 0.7760\n",
      "Epoch 22/200\n",
      "1/1 - 0s - loss: 0.4374 - acc: 0.9071 - val_loss: 0.8786 - val_acc: 0.7860\n",
      "Epoch 23/200\n",
      "1/1 - 0s - loss: 0.3275 - acc: 0.9500 - val_loss: 0.8585 - val_acc: 0.7860\n",
      "Epoch 24/200\n",
      "1/1 - 0s - loss: 0.3131 - acc: 0.9429 - val_loss: 0.8451 - val_acc: 0.7920\n",
      "Epoch 25/200\n",
      "1/1 - 0s - loss: 0.3186 - acc: 0.9357 - val_loss: 0.8369 - val_acc: 0.8000\n",
      "Epoch 26/200\n",
      "1/1 - 0s - loss: 0.2150 - acc: 0.9786 - val_loss: 0.8352 - val_acc: 0.7940\n",
      "Epoch 27/200\n",
      "1/1 - 0s - loss: 0.2385 - acc: 0.9643 - val_loss: 0.8335 - val_acc: 0.7940\n",
      "Epoch 28/200\n",
      "1/1 - 0s - loss: 0.2191 - acc: 0.9500 - val_loss: 0.8330 - val_acc: 0.7940\n",
      "Epoch 29/200\n",
      "1/1 - 0s - loss: 0.1988 - acc: 0.9643 - val_loss: 0.8297 - val_acc: 0.7940\n",
      "Epoch 30/200\n",
      "1/1 - 0s - loss: 0.1957 - acc: 0.9500 - val_loss: 0.8282 - val_acc: 0.8040\n",
      "Epoch 31/200\n",
      "1/1 - 0s - loss: 0.1622 - acc: 0.9500 - val_loss: 0.8281 - val_acc: 0.8020\n",
      "Epoch 32/200\n",
      "1/1 - 0s - loss: 0.1748 - acc: 0.9571 - val_loss: 0.8307 - val_acc: 0.8100\n",
      "Epoch 33/200\n",
      "1/1 - 0s - loss: 0.1223 - acc: 0.9714 - val_loss: 0.8360 - val_acc: 0.8120\n",
      "Epoch 34/200\n",
      "1/1 - 0s - loss: 0.1208 - acc: 0.9857 - val_loss: 0.8433 - val_acc: 0.8160\n",
      "Epoch 35/200\n",
      "1/1 - 0s - loss: 0.1331 - acc: 0.9714 - val_loss: 0.8526 - val_acc: 0.8120\n",
      "Epoch 36/200\n",
      "1/1 - 0s - loss: 0.1015 - acc: 0.9714 - val_loss: 0.8610 - val_acc: 0.8140\n",
      "Epoch 37/200\n",
      "1/1 - 0s - loss: 0.1253 - acc: 0.9714 - val_loss: 0.8680 - val_acc: 0.8180\n",
      "Epoch 38/200\n",
      "1/1 - 0s - loss: 0.0815 - acc: 0.9857 - val_loss: 0.8766 - val_acc: 0.8240\n",
      "Epoch 39/200\n",
      "1/1 - 0s - loss: 0.0822 - acc: 0.9857 - val_loss: 0.8847 - val_acc: 0.8200\n",
      "Epoch 40/200\n",
      "1/1 - 0s - loss: 0.0677 - acc: 0.9857 - val_loss: 0.8942 - val_acc: 0.8160\n",
      "Epoch 41/200\n",
      "1/1 - 0s - loss: 0.0633 - acc: 0.9786 - val_loss: 0.9061 - val_acc: 0.8140\n",
      "Epoch 42/200\n",
      "1/1 - 0s - loss: 0.0767 - acc: 0.9857 - val_loss: 0.9204 - val_acc: 0.8140\n",
      "Epoch 43/200\n",
      "1/1 - 0s - loss: 0.0427 - acc: 0.9929 - val_loss: 0.9353 - val_acc: 0.8120\n",
      "Epoch 44/200\n",
      "1/1 - 0s - loss: 0.1346 - acc: 0.9429 - val_loss: 0.9500 - val_acc: 0.8080\n",
      "Epoch 45/200\n",
      "1/1 - 0s - loss: 0.0318 - acc: 1.0000 - val_loss: 0.9651 - val_acc: 0.8100\n",
      "Epoch 46/200\n",
      "1/1 - 0s - loss: 0.0409 - acc: 0.9929 - val_loss: 0.9797 - val_acc: 0.8020\n",
      "Epoch 47/200\n",
      "1/1 - 0s - loss: 0.0551 - acc: 0.9786 - val_loss: 0.9891 - val_acc: 0.8040\n",
      "Epoch 48/200\n",
      "1/1 - 0s - loss: 0.0645 - acc: 0.9714 - val_loss: 0.9956 - val_acc: 0.8040\n",
      "Epoch 49/200\n",
      "1/1 - 0s - loss: 0.0550 - acc: 0.9857 - val_loss: 0.9981 - val_acc: 0.8020\n",
      "Epoch 50/200\n",
      "1/1 - 0s - loss: 0.0223 - acc: 1.0000 - val_loss: 0.9984 - val_acc: 0.8020\n",
      "Epoch 51/200\n",
      "1/1 - 0s - loss: 0.0533 - acc: 0.9857 - val_loss: 0.9987 - val_acc: 0.8040\n",
      "Epoch 52/200\n",
      "1/1 - 0s - loss: 0.0389 - acc: 1.0000 - val_loss: 0.9986 - val_acc: 0.8060\n",
      "Epoch 53/200\n",
      "1/1 - 0s - loss: 0.0559 - acc: 0.9929 - val_loss: 0.9956 - val_acc: 0.8060\n",
      "Epoch 54/200\n",
      "1/1 - 0s - loss: 0.0316 - acc: 0.9929 - val_loss: 0.9950 - val_acc: 0.8080\n",
      "Epoch 55/200\n",
      "1/1 - 0s - loss: 0.0392 - acc: 0.9857 - val_loss: 0.9925 - val_acc: 0.8060\n",
      "Epoch 56/200\n",
      "1/1 - 0s - loss: 0.0476 - acc: 0.9857 - val_loss: 0.9934 - val_acc: 0.8060\n",
      "Epoch 57/200\n",
      "1/1 - 0s - loss: 0.0574 - acc: 0.9857 - val_loss: 0.9916 - val_acc: 0.8080\n",
      "Epoch 58/200\n",
      "1/1 - 0s - loss: 0.0727 - acc: 0.9714 - val_loss: 0.9905 - val_acc: 0.8120\n",
      "Epoch 59/200\n",
      "1/1 - 0s - loss: 0.0540 - acc: 0.9857 - val_loss: 0.9890 - val_acc: 0.8080\n",
      "Epoch 60/200\n",
      "1/1 - 0s - loss: 0.0544 - acc: 0.9786 - val_loss: 0.9886 - val_acc: 0.8100\n",
      "Epoch 61/200\n",
      "1/1 - 0s - loss: 0.0553 - acc: 0.9929 - val_loss: 0.9901 - val_acc: 0.8100\n",
      "Epoch 62/200\n",
      "1/1 - 0s - loss: 0.0402 - acc: 0.9929 - val_loss: 0.9908 - val_acc: 0.8080\n",
      "Epoch 63/200\n",
      "1/1 - 0s - loss: 0.0172 - acc: 1.0000 - val_loss: 0.9922 - val_acc: 0.8100\n",
      "Epoch 64/200\n",
      "1/1 - 0s - loss: 0.0376 - acc: 0.9929 - val_loss: 0.9929 - val_acc: 0.8080\n",
      "Epoch 65/200\n",
      "1/1 - 0s - loss: 0.0247 - acc: 0.9929 - val_loss: 0.9941 - val_acc: 0.8100\n",
      "Epoch 66/200\n",
      "1/1 - 0s - loss: 0.1193 - acc: 0.9571 - val_loss: 0.9894 - val_acc: 0.8100\n",
      "Epoch 67/200\n",
      "1/1 - 0s - loss: 0.0259 - acc: 0.9929 - val_loss: 0.9872 - val_acc: 0.8080\n",
      "Epoch 68/200\n",
      "1/1 - 0s - loss: 0.0136 - acc: 1.0000 - val_loss: 0.9872 - val_acc: 0.8140\n",
      "Epoch 69/200\n",
      "1/1 - 0s - loss: 0.0250 - acc: 1.0000 - val_loss: 0.9908 - val_acc: 0.8160\n",
      "Epoch 70/200\n",
      "1/1 - 0s - loss: 0.0392 - acc: 0.9929 - val_loss: 0.9970 - val_acc: 0.8220\n",
      "Epoch 71/200\n",
      "1/1 - 0s - loss: 0.0253 - acc: 1.0000 - val_loss: 1.0030 - val_acc: 0.8140\n",
      "Epoch 72/200\n",
      "1/1 - 0s - loss: 0.0219 - acc: 1.0000 - val_loss: 1.0105 - val_acc: 0.8140\n",
      "Epoch 73/200\n",
      "1/1 - 0s - loss: 0.0206 - acc: 0.9929 - val_loss: 1.0190 - val_acc: 0.8080\n",
      "Epoch 74/200\n",
      "1/1 - 0s - loss: 0.0228 - acc: 1.0000 - val_loss: 1.0272 - val_acc: 0.8060\n",
      "Epoch 75/200\n",
      "1/1 - 0s - loss: 0.0211 - acc: 0.9929 - val_loss: 1.0353 - val_acc: 0.8040\n",
      "Epoch 76/200\n",
      "1/1 - 0s - loss: 0.0355 - acc: 0.9857 - val_loss: 1.0439 - val_acc: 0.8020\n",
      "Epoch 77/200\n",
      "1/1 - 0s - loss: 0.0325 - acc: 0.9857 - val_loss: 1.0548 - val_acc: 0.7980\n",
      "Epoch 78/200\n",
      "1/1 - 0s - loss: 0.0235 - acc: 1.0000 - val_loss: 1.0655 - val_acc: 0.8000\n",
      "Epoch 79/200\n",
      "1/1 - 0s - loss: 0.0266 - acc: 0.9929 - val_loss: 1.0742 - val_acc: 0.8000\n",
      "Epoch 80/200\n",
      "1/1 - 0s - loss: 0.0585 - acc: 0.9857 - val_loss: 1.0839 - val_acc: 0.8040\n",
      "Epoch 81/200\n",
      "1/1 - 0s - loss: 0.0626 - acc: 0.9857 - val_loss: 1.0925 - val_acc: 0.7980\n",
      "Epoch 82/200\n",
      "1/1 - 0s - loss: 0.0198 - acc: 1.0000 - val_loss: 1.1006 - val_acc: 0.7980\n",
      "Epoch 83/200\n",
      "1/1 - 0s - loss: 0.0259 - acc: 0.9929 - val_loss: 1.1047 - val_acc: 0.8000\n",
      "Epoch 84/200\n",
      "1/1 - 0s - loss: 0.0296 - acc: 0.9929 - val_loss: 1.1079 - val_acc: 0.8020\n",
      "Epoch 85/200\n",
      "1/1 - 0s - loss: 0.0236 - acc: 0.9929 - val_loss: 1.1077 - val_acc: 0.8060\n",
      "Epoch 86/200\n",
      "1/1 - 0s - loss: 0.0440 - acc: 0.9714 - val_loss: 1.1033 - val_acc: 0.8040\n",
      "Epoch 87/200\n",
      "1/1 - 0s - loss: 0.0324 - acc: 0.9929 - val_loss: 1.0994 - val_acc: 0.8020\n",
      "Epoch 88/200\n",
      "1/1 - 0s - loss: 0.0359 - acc: 0.9857 - val_loss: 1.0955 - val_acc: 0.8040\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(\n",
    "    train_gen,\n",
    "    epochs=200,\n",
    "    validation_data=val_gen,\n",
    "    verbose=2,\n",
    "    shuffle=False,  # this should be False, since shuffling data means shuffling the whole graph\n",
    "    callbacks=[es_callback],\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once we've trained the model, we can view the behaviour loss function and any other metrics using the `plot_history` function ([docs](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.utils.plot_history)). In this case, we can see the loss and accuracy on both the training and validation sets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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THugzu/ner2oBmgcdBER8Rc+b4G3JLoTmYiI+AsFeBPsKqmkU6QGcREREd9TgDeSu2Yc9BgdAxcRET+gAG+k3XurcFsN4iIiIv5BAd5IBaXOpecKcBER8QcK8EbaWTOMaoxuZCIi0uxeeeUVgoL2Xyj1zTffYIwhOzv7sK8zxjB9+vRjXv/111/Puef6xQVQh6QAb6R9dyJTC1xExOtGjRrFtm3b9t3321OmT5++71akdU2dOpWZM2d6dF2e5hfXgbcEuhOZiIjvhISE0KVLF6+tLzo62mvrOlpqgTfSrhLnGHhHBbiIyGFNmzaN6OhoysvL601//PHHSU5OxuVy8atf/YpevXoRHh5Oz549uffee6moOPRtLhrqQp87dy6DBg0iLCyMQYMGMXfu3INed99999GvXz8iIiLo1q0bN910E0VFRfuWec011wBO17sxhuuvvx44uAvdWss//vEPevbsSUhICL169eKpp56qt66UlBQeeOABbr/9djp16kR8fDx33HEH1dXVTfsAG0kt8EbSOOgi4nOf/gG2/+j99XYZCBc+1ujZx40bx2233caHH37I+PHj901/7bXXuPrqqzHGEBcXx4wZM4iPj2flypVMnjyZ4OBg/vSnPzVqHbm5uYwZM4Zx48bx1ltvkZOTw+23337QfOHh4bz00kt069aNTZs2MWXKFG677TZeffVVRo0axbPPPsstt9zCtm3b9s3fkOeff57777+fqVOnctZZZ/H111/zm9/8hvbt23PjjTfum++ZZ57h7rvvZtGiRSxbtoyrrrqKE044od48nqIAb6RdpZXqPhcRaYTo6GjGjh3La6+9ti/A09LSWLNmDbNmzSIgIIBHHnlk3/wpKSls2rSJ559/vtEB/vzzzxMTE8O0adMICgqif//+PProo1xyySX15vvjH/9Ybz1//etfmTBhAv/9738JCQnZ11V+pO75xx57jFtvvZVJkyYB0Lt3b9avX88jjzxSL5xPO+00/vCHP+yb57///S9fffWVAtyXdpVU6AQ2EfGtJrSCfe26667j0ksvZceOHcTFxfHaa6+RmppK3759Aaeb/d///jdbt26ltLSU6upq3G53o5e/Zs0aUlNT652pfuqppx4036xZs3jqqafYuHEjxcXFuN1uKisr2b59e6NPiCsuLiY7O5vTTz+93vQzzjiDqVOnUlZWRkREBABDhgypN09CQgJbtmxp9PtqCvUHN1JBqe5EJiLSWKNHjyYmJoYZM2ZQVVXFW2+9xXXXXQfAzJkzmTJlCuPHj2fOnDksW7aMBx54gKqqKo/WsGjRIq688kpOP/103n//fZYuXcqLL74IQGVlpUfXVSskpH5OGGOatGPSFGqBN1JBaSXDu3fydRkiIi1CYGAgV111Fa+//jo9e/akqKiICRMmAPDdd98xdOhQ7rzzzn3zb926tUnL79+/P6+//joul4vAwEAAFixYUG+e+fPnExMTw1/+8pd90959991689QGbt3lHCgqKoqkpCS+++47xowZs2/6t99+S48ePfa1vr1NLfBGcLut0wJXF7qISKNde+21LF26lAcffJAxY8bQqZPTCOrbty8//vgjH374IZs2bWLq1KnMmjWrScu++eabyc/PZ9KkSaxdu5avv/6a++67r948ffv2JT8/n5dffpnNmzfz2muv8fzzz9ebp0ePHgDMnj2b/Px8SkpKGlzfPffcwzPPPMO0adP46aef+Ne//sULL7zAvffe26S6PUkB3ggaB11EpOkGDRrEkCFDWL58Oddee+2+6ZMnT+aaa67hhhtuYOjQoSxatIiHHnqoSctOTEzko48+YvHixQwZMoTbb7+dJ598st48Y8aM4b777uPee+9l4MCBvPXWW/z973+vN8/IkSO5/fbbmTx5MnFxcdxyyy0Nru/mm2/m4Ycf5tFHH6V///48/vjjPPbYY81yclpjGWutz1be3EaMGGHT0tKOeTkbd+zh3Ce/Y+qEIYwdkuiBykREjmzt2rX069fP12VIMzvS39kYk26tHXHgdLXAG2FXSe0obBoHXURE/IMCvBF2aRx0ERHxMwrwRqgN8BhdRiYiIn5Cl5E1wkUndOH4Lu3VAhcREb+hAG+Ezu1C6az7gIuID1hrG7zdpbQOx3IiubrQRUT8VGBgoMdHJxP/UlVVVW842KZQgIuI+KkOHTqQl5fXbENxim+53W7y8vKO+t7j6kIXEfFTMTExZGdns379el+XIs0kMjKSmJiYo3qtAlxExE8FBASQnJzs6zLET6kLXUREpAVSgIuIiLRACnAREZEWSAEuIiLSAinARUREWqBWfTtRY0w+kOGhxcUAOz20LDk8fdbeo8/ae/RZe09r+6y7W2tjD5zYqgPck4wxaQ3dj1U8T5+1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\n",
      "text/plain": [
       "<Figure size 504x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sg.utils.plot_history(history)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As the final part of our evaluation, let's check the model against the test set. We again create the data required for this using the `flow` method on our `FullBatchNodeGenerator` from above, and can use the model's `evaluate` method ([docs](https://www.tensorflow.org/api_docs/python/tf/keras/Model#evaluate)) to compute the metric values for the trained model.\n",
    "\n",
    "As expected, the model performs similarly on the validation set during training and on the test set here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_gen = generator.flow(test_subjects.index, test_targets)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  ['...']\n",
      "1/1 [==============================] - 0s 11ms/step - loss: 0.6904 - acc: 0.8298\n",
      "\n",
      "Test Set Metrics:\n",
      "\tloss: 0.6904\n",
      "\tacc: 0.8298\n"
     ]
    }
   ],
   "source": [
    "test_metrics = model.evaluate(test_gen)\n",
    "print(\"\\nTest Set Metrics:\")\n",
    "for name, val in zip(model.metrics_names, test_metrics):\n",
    "    print(\"\\t{}: {:0.4f}\".format(name, val))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Making predictions with the model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's get the predictions for all nodes. You're probably getting used to it by now, but we use our `FullBatchNodeGenerator` to create the input required and then use one of the model's methods: `predict` ([docs](https://www.tensorflow.org/api_docs/python/tf/keras/Model#predict)). This time we _don't_ provide the labels to `flow`, and instead just the nodes, because we're trying to predict these classes without knowing them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_nodes = node_subjects.index\n",
    "all_gen = generator.flow(all_nodes)\n",
    "all_predictions = model.predict(all_gen)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These predictions will be the output of the softmax layer, so to get final categories we'll use the `inverse_transform` method of our target attribute specification to turn these values back to the original categories.\n",
    "\n",
    "Note that for full-batch methods the batch size is 1 and the predictions have shape $(1, N_{nodes}, N_{classes})$ so we we remove the batch dimension to obtain predictions of shape $(N_{nodes}, N_{classes})$ using the NumPy `squeeze` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "node_predictions = target_encoding.inverse_transform(all_predictions.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's have a look at a few predictions after training the model:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Predicted</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>31336</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1061127</td>\n",
       "      <td>Rule_Learning</td>\n",
       "      <td>Rule_Learning</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1106406</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13195</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>37879</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1126012</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1107140</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>Theory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1102850</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>31349</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1106418</td>\n",
       "      <td>Theory</td>\n",
       "      <td>Theory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1123188</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1128990</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>Genetic_Algorithms</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>109323</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "      <td>Probabilistic_Methods</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>217139</td>\n",
       "      <td>Case_Based</td>\n",
       "      <td>Case_Based</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>31353</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>32083</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1126029</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "      <td>Reinforcement_Learning</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1118017</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>49482</td>\n",
       "      <td>Neural_Networks</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>753265</td>\n",
       "      <td>Theory</td>\n",
       "      <td>Neural_Networks</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      Predicted                    True\n",
       "31336           Neural_Networks         Neural_Networks\n",
       "1061127           Rule_Learning           Rule_Learning\n",
       "1106406  Reinforcement_Learning  Reinforcement_Learning\n",
       "13195    Reinforcement_Learning  Reinforcement_Learning\n",
       "37879     Probabilistic_Methods   Probabilistic_Methods\n",
       "1126012   Probabilistic_Methods   Probabilistic_Methods\n",
       "1107140  Reinforcement_Learning                  Theory\n",
       "1102850         Neural_Networks         Neural_Networks\n",
       "31349           Neural_Networks         Neural_Networks\n",
       "1106418                  Theory                  Theory\n",
       "1123188   Probabilistic_Methods         Neural_Networks\n",
       "1128990  Reinforcement_Learning      Genetic_Algorithms\n",
       "109323    Probabilistic_Methods   Probabilistic_Methods\n",
       "217139               Case_Based              Case_Based\n",
       "31353           Neural_Networks         Neural_Networks\n",
       "32083           Neural_Networks         Neural_Networks\n",
       "1126029  Reinforcement_Learning  Reinforcement_Learning\n",
       "1118017         Neural_Networks         Neural_Networks\n",
       "49482           Neural_Networks         Neural_Networks\n",
       "753265                   Theory         Neural_Networks"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame({\"Predicted\": node_predictions, \"True\": node_subjects})\n",
    "df.head(20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Node embeddings\n",
    "\n",
    "In addition to just predicting the node class, it can be useful to get a more detailed picture of what information the model has learnt about the nodes and their neighbourhoods. In this case, this means an embedding of the node (also called a \"representation\") into a latent vector space that captures that information, and it comes in the form of either a look-up table mapping node to a vector of numbers, or a neural network that produces those vectors. For GCN, we're going to be using the second option, using the last graph convolution layer of the GCN model (called `x_out` above), before we applied the prediction layer.\n",
    "\n",
    "We can visualise these embeddings as points on a plot, colored by their true subject labels. If the model has learned useful information about the nodes based on their class, we expect to see nice clusters of papers in the node embedding space, with papers of the same subject belonging to the same cluster.\n",
    "\n",
    "To create a model that computes node embeddings, we use the same input tensors (`x_inp`) as the prediction model above, and just swap the output tensor to the GCN one (`x_out`) instead of the prediction layer. These tensors are connected to the same layers and weights that we trained when training the predictions above, and so we're only using this model to compute/\"predict\" the node embedding vectors. Similar to doing predictions for every node, we will compute embeddings for every node using the `all_gen` data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "embedding_model = Model(inputs=x_inp, outputs=x_out)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 2708, 16)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "emb = embedding_model.predict(all_gen)\n",
    "emb.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The last GCN layer had output dimension 16, meaning each embedding consists of 16 numbers. Plotting this directly would require a 16 dimensional plot, which is hard for humans to visualise. Instead, we can first project these vectors down to just 2 numbers, making vectors of dimension 2 that can be plotted on a normal 2D scatter plot.\n",
    "\n",
    "There are many tools for this [dimensionality reduction](https://en.wikipedia.org/wiki/Dimensionality_reduction) task, many of which are offered by scikit-learn. Two of the more common ones are [principal component analysis (PCA)](https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html) (which is linear) and [t-distributed Stochastic Neighbor Embedding (t-SNE or TSNE)](https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html) (non-linear). t-SNE is slower but typically gives nicer results for plotting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "from sklearn.manifold import TSNE\n",
    "\n",
    "transform = TSNE  # or PCA"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the embeddings from the GCN model have a batch dimension of 1 so we `squeeze` this to get a matrix of $N_{nodes} \\times N_{emb}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2708, 16)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = emb.squeeze(0)\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We've thus prepared our high-dimension embeddings and chosen our dimension-reduction transform, so we now compute the reduced vectors, as two columns of the new values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2708, 2)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trans = transform(n_components=2)\n",
    "X_reduced = trans.fit_transform(X)\n",
    "X_reduced.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `X_reduced` values contains a pair of numbers for each node, in the same order as the `node_subjects` Series of ground-truth labels (because that's how `all_gen` was created). This is enough to do a scatter plot of the nodes, with colors. We can let matplotlib compute the colors by mapping the subjects to integers 0, 1, ..., 6, using [Pandas's support for categorical data](https://pandas.pydata.org/pandas-docs/stable/user_guide/categorical.html).\n",
    "\n",
    "Qualitatively, the plot shows good clustering, where nodes of a single colour are mostly grouped together."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0, 0.5, '$X_2$'),\n",
       " Text(0.5, 0, '$X_1$'),\n",
       " Text(0.5, 1.0, 'TSNE visualization of GCN embeddings for cora dataset'),\n",
       " None]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(7, 7))\n",
    "ax.scatter(\n",
    "    X_reduced[:, 0],\n",
    "    X_reduced[:, 1],\n",
    "    c=node_subjects.astype(\"category\").cat.codes,\n",
    "    cmap=\"jet\",\n",
    "    alpha=0.7,\n",
    ")\n",
    "ax.set(\n",
    "    aspect=\"equal\",\n",
    "    xlabel=\"$X_1$\",\n",
    "    ylabel=\"$X_2$\",\n",
    "    title=f\"{transform.__name__} visualization of GCN embeddings for cora dataset\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion\n",
    "\n",
    "This notebook gave an example using the GCN algorithm to predict the class of nodes. Specifically, the subject of an academic paper in the Cora dataset. Our model used:\n",
    "\n",
    "- the graph structure of the dataset, in the form of citation links between papers\n",
    "- the 1433-dimensional feature vectors associated with each paper\n",
    "\n",
    "Once we trained a model for prediction, we could:\n",
    "\n",
    "- predict the classes of nodes\n",
    "- use the model's weights to compute vector embeddings for nodes\n",
    "\n",
    "This notebook ran through the following steps:\n",
    "\n",
    "1. prepared the data using common data science libraries\n",
    "2. built a TensorFlow Keras model and data generator with [the StellarGraph library](https://github.com/stellargraph/stellargraph) \n",
    "3. trained and evaluated it using TensorFlow and other libraries\n",
    "\n",
    "For problems with only small amounts of labelled data, model performance can be improved by semi-supervised training. See [the GCN + Deep Graph Infomax fine-tuning demo](gcn-deep-graph-infomax-fine-tuning-node-classification.ipynb) for more details on how to do this.\n",
    "\n",
    "StellarGraph includes [other algorithms for node classification](README.md) and [algorithms and demos for other tasks](../README.md). Most can be applied with the same basic structure as this GCN demo."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx": "hidden",
    "tags": [
     "CloudRunner"
    ]
   },
   "source": [
    "<table><tr><td>Run the latest release of this notebook:</td><td><a href=\"https://mybinder.org/v2/gh/stellargraph/stellargraph/master?urlpath=lab/tree/demos/node-classification/gcn-node-classification.ipynb\" alt=\"Open In Binder\" target=\"_parent\"><img src=\"https://mybinder.org/badge_logo.svg\"/></a></td><td><a href=\"https://colab.research.google.com/github/stellargraph/stellargraph/blob/master/demos/node-classification/gcn-node-classification.ipynb\" alt=\"Open In Colab\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\"/></a></td></tr></table>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
